package com.wjbgn.electronicnian.convert;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.wjbgn.electronicnian.dto.NianSayLogDTO;
import com.wjbgn.electronicnian.entity.NianSayLogDO;
import com.wjbgn.electronicnian.util.BeanCopierUtil;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;

/**
 * Description: 年兽说的话
 * Create Date: 2022-01-22T15:50:35.292688500
 * @author weirx
 * @version 1.0
 */
@Component
public class NianSayLogDoConvert {

    /**
     * DtoToDo
     *
     * @param nianSayLogDTO
     * @return
     */
    public static NianSayLogDO dtoToDo(NianSayLogDTO nianSayLogDTO) {
            NianSayLogDO nianSayLogDO = new NianSayLogDO();
        BeanCopierUtil.copy(nianSayLogDTO, nianSayLogDO);
        return nianSayLogDO;
    }

    /**
     * DoToDto
     *
     * @param nianSayLogDO
     * @return
     */
    public static NianSayLogDTO doToDto(NianSayLogDO nianSayLogDO) {
            NianSayLogDTO nianSayLogDTO = new NianSayLogDTO();
        BeanCopierUtil.copy(nianSayLogDO, nianSayLogDTO);
        return nianSayLogDTO;
    }

    /**
     * Page<DO> to Page<DTO>
     *
     * @param pageDO
     * @return
     */
    public static Page<NianSayLogDTO> pageConvert(Page<NianSayLogDO> pageDO) {
        List<NianSayLogDTO> list = listConvert(pageDO.getRecords());
        Page<NianSayLogDTO> page = new Page<>(pageDO.getCurrent(), pageDO.getSize(), pageDO.getTotal());
        page.setRecords(list);
        return page;
    }

    /**
     * list<DO> to list<DTO>
     *
     * @param listDO
     * @return
     */
    public static List<NianSayLogDTO> listConvert(List<NianSayLogDO> listDO) {
        List<NianSayLogDTO> list = new ArrayList<>();
            NianSayLogDTO nianSayLogDTO;
        for (NianSayLogDO nianSayLogDO : listDO) {
                nianSayLogDTO = new NianSayLogDTO();
            BeanCopierUtil.copy(nianSayLogDO, nianSayLogDTO);
            list.add(nianSayLogDTO);
        }
        return list;
    }
}